
"""
新建“exerc3”Python文件完成作业：读取“xiaofei.csv”文件中的内容，要求用户输入省份和需要查找的项目，
显示相应的结果（可查询多个条件
"""
import csv


def read_csv_file(filepath):
    """ 
    读取CSV文件数据的函数
    打开指定的CSV文件，使用csv.DictReader读取文件内容，
    将每行数据转换为字典格式并存储在列表中返回
    """
    data = []
    with open(filepath, mode='r', encoding='gbk') as f:
        reader = csv.DictReader(f)
        for row in reader:
            data.append(row)
    return data


def query_data(data, province, items):
    """
    查询指定省份的消费数据
    在数据中查找指定省份，并打印出该省份中指定项目的消费数据
    如果找不到省份或项目，会打印相应的提示信息
    """
    for row in data:
        if row['省份'] == province:
            print(f'\n{province}')
            for item in items:
                if item in row:
                    print(f'{item}: {row[item]}')
                else:
                    print(f'{item}:未找到该项目')
            return
    print(f'\n未找到省份{province}')


if __name__ == '__main__':
    file_path = 'xiaofei.csv'
    consumption_data = read_csv_file(file_path)
    while True:
        province = input('请输入要查询的省份（输入q退出）：')
        if province.lower() == 'q':
            break
            
        items_input = input('请输入要查询的项目（多个项目用空格分隔）：')
        items = items_input.split()
        
        query_data(consumption_data, province, items)
